home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / util / arcer / xdm20.lha / xdm / gui / xDM_GUI < prev    next >
Text File  |  1995-09-29  |  10KB  |  432 lines

  1. .bra {
  2. .ket }
  3.  
  4. ; $VER: xDM GUI v2.0 (29.9.95)
  5.  
  6. Cd >ENV:xdmorigcd
  7. Set xdmcd "$xdmorigcd"
  8.  
  9. If NOT EXISTS ENV:xdm
  10.     If NOT EXISTS ENVARC:xdm
  11.         Set xdm T:
  12.     Else
  13.         Copy >NIL: ENVARC:xdm TO ENV:
  14.     EndIf
  15. EndIf
  16.  
  17. If NOT EXISTS ENV:xdmlzx
  18.     If NOT EXISTS ENVARC:xdmlzx
  19.         Set xdmlzx T:
  20.     Else
  21.         Copy >NIL: ENVARC:xdm TO ENV:
  22.     EndIf
  23. EndIf
  24.  
  25. If NOT EXISTS C:dd
  26.     Set xdmerror dd
  27.     Skip errorout
  28. EndIf
  29.  
  30. If NOT EXISTS C:PackDev
  31.     Set xdmerror PackDev
  32.     Skip errorout
  33. EndIf
  34.  
  35. If NOT EXISTS C:LZX
  36.     Set xdmerror LZX
  37.     Skip errorout
  38. EndIf
  39.  
  40. LAB begin
  41. RequestChoice >ENV:xdmaction "xDM v2.0 - The eXtended Disk Masher" "Select Action To Perform" "Compress Disk" "Decompress Disk" "QUIT"
  42.  
  43. If $xdmaction EQ "0"
  44.     Skip getout
  45. EndIf
  46.  
  47. LAB specialmode
  48. If $xdmaction EQ "1"
  49.     RequestChoice >ENV:xdmversion "xDM v2.0 - The eXtended Disk Masher" "Choose Special Mode (if any)" "None" "Low Memory" "BACK" "QUIT"
  50.     If $xdmversion EQ "0"
  51.         Skip getout
  52.     EndIf
  53.     If $xdmversion EQ "3"
  54.         Skip begin BACK
  55.     EndIf
  56.     If $xdmversion EQ "2"
  57.         If NOT EXISTS ENV:xdm
  58.             Set xdmerror "lowmem"
  59.             Skip errorout
  60.         EndIf
  61.         If NOT EXISTS ENV:xdmlzx
  62.             Set xdmerror "lowmem"
  63.             Skip errorout
  64.         EndIf
  65.         Set xdmmode "lowmem"
  66.     EndIf
  67. EndIf
  68.  
  69. LAB startpack
  70. If $xdmaction EQ "1"
  71.     RequestChoice >ENV:xdmdev "xDM v2.0 - The eXtended Disk Masher" "Select Drive To Compress From" "DF0:" "DF1:" "DF2:" "DF3:" "RAD:" "BACK" "QUIT"
  72.     If $xdmdev EQ "6"
  73.         Skip specialmode BACK
  74.     EndIf
  75. EndIf
  76.  
  77. If $xdmaction EQ "2"
  78.     RequestChoice >ENV:xdmdev "xDM v2.0 - The eXtended Disk Masher" "Select Drive To Decompress To" "DF0:" "DF1:" "DF2:" "DF3:" "RAD:" "BACK" "QUIT"
  79.     If $xdmdev EQ "6"
  80.         Skip begin BACK
  81.     EndIf
  82. EndIf
  83.  
  84. If $xdmdev EQ "0"
  85.     Skip getout
  86. EndIf
  87.  
  88. Eval >ENV:xdmseldrive $xdmdev - 1
  89. Set xdmdrive DF$xdmseldrive:
  90.  
  91. If $xdmdev EQ "5"
  92.     Assign >NIL: RAD: EXISTS
  93.     If WARN
  94.         Echo "Mounting RAD:"
  95.         Mount >NIL: RAD:
  96.     EndIf
  97.     Set xdmdrive RAD:
  98. EndIf
  99.  
  100. If $xdmaction EQ "1"
  101.     Skip compress
  102. EndIf
  103.  
  104. If $xdmaction EQ "2"
  105.     Skip decompress
  106. EndIf
  107.  
  108. LAB compress
  109. FailAt 21
  110.  
  111. If NOT EXISTS ENV:xdmdd
  112.     If NOT EXISTS ENVARC:xdmdd
  113.         Set xdmdd RAM:
  114.     Else
  115.         Copy >NIL: ENVARC:xdmdd TO ENV:
  116.     EndIf
  117. EndIf
  118.  
  119. RequestFile >ENV:xdmdest DRAWER "$xdmdd" FILE ".xdm" PATTERN "#?.xdm" TITLE "Select Destination File" NOICONS
  120.  
  121. If FAIL
  122.     Skip begin BACK
  123. EndIf
  124.  
  125. If EXISTS $xdmdest
  126.     Set xdmerror "fileexists"
  127.     Skip errorout
  128. EndIf
  129.  
  130. FailAt 20
  131. LAB selecttracks
  132. RequestChoice >ENV:xdmtracks "xDM v2.0 - The eXtended Disk Masher" "Compress Which Tracks?" "All Tracks" "All AmigaDOS Tracks" "Certain Tracks" "BACK" "QUIT"
  133.  
  134. If $xdmtracks EQ "0"
  135.     Skip getout
  136. EndIf
  137.  
  138. If $xdmtracks EQ "4"
  139.     Skip begin BACK
  140. EndIf
  141.  
  142. If $xdmtracks EQ "3"
  143.     Echo "Enter start track: " NOLINE
  144.     Set >NIL: xdmstarttrack ?
  145.     Echo "Enter end track  : " NOLINE
  146.     Set >NIL: xdmendtrack ?
  147.     Eval >ENV:xdmskip $xdmstarttrack*22
  148.     Eval >ENV:xdmcount $xdmendtrack-$xdmstarttrack*22+22
  149. EndIf
  150.  
  151. LAB beginread
  152. Echo "*e[32mxDM v2.0 - © 1995 Adam Chapman*e[0m"
  153. Echo "Reading disk image... Please wait!"
  154. Cd "$xdm"
  155. Date >ENV:xdmdate1
  156. Echo >ENV:xdmtime1 "$xdmdate1" LEN=5
  157. Echo >ENV:xdmmins1 "$xdmtime1" FIRST=1 LEN=2
  158. Echo >ENV:xdmsecs1 "$xdmtime1" LEN=2
  159.  
  160. If $xdmtracks EQ "3"
  161.     ChangeTaskPri 5
  162.     dd -c$xdmcount -s$xdmskip -r$xdmdrive xDM.dsk
  163.     ChangeTaskPri 0
  164.     List >ENV:xdmfile xDM.dsk LFORMAT %L
  165.     If $xdmfile EQ "empty"
  166.         Echo "Please insert disk into drive $xdmdrive"
  167.         Skip startpack BACK
  168.     EndIf
  169. Else
  170.     If $xdmtracks EQ "1"
  171.         ChangeTaskPri 5
  172.         PackDev $xdmdrive xDM NC Q ALL
  173.     Else
  174.         ChangeTaskPri 5
  175.         PackDev $xdmdrive xDM NC Q
  176.     EndIf
  177.     ChangeTaskPri 0
  178.     Rename >NIL: xDM.pkd xDM.image
  179.     List >ENV:xdmfile xDM.image LFORMAT %L
  180.     If FAIL
  181.         Echo "Please insert disk into drive $xdmdrive"
  182.         Skip startpack BACK
  183.     EndIf
  184. EndIf
  185.  
  186. Echo "Archiving disk image... Please wait!"
  187.  
  188. If $xdmtracks EQ "3"
  189.     If $xdmmode EQ "lowmem"
  190.         LZX -bi16 -bo16 -m -P5 -U0 -w$xdmlzx -X0 -3 a $xdmdest xDM.dsk ENV:xdmskip ENV:xdmcount
  191.         Skip contcompress
  192.     EndIf
  193.     LZX -m -P5 -U0 -X0 -3 a $xdmdest xDM.dsk ENV:xdmskip ENV:xdmcount
  194. Else
  195.     If $xdmmode EQ "lowmem"
  196.         LZX -bi16 -bo16 -m -P5 -U0 -w$xdmlzx -X0 -3 a $xdmdest xDM.image
  197.         Skip contcompress
  198.     EndIf
  199.     LZX -m -P5 -U0 -X0 -3 a $xdmdest xDM.image
  200. EndIf
  201.  
  202. LAB contcompress
  203. Date >ENV:xdmdate2
  204. Echo >ENV:xdmtime2 "$xdmdate2" LEN=5
  205. Echo >ENV:xdmmins2 "$xdmtime2" FIRST=1 LEN=2
  206. Echo >ENV:xdmsecs2 "$xdmtime2" LEN=2
  207. List >ENV:xdmsize $xdmdest LFORMAT %L
  208. Eval >ENV:xdmpct 100-($xdmsize*100/901120)
  209.  
  210. If $xdmmins2 GT $xdmmins1
  211.     Eval >ENV:xdmtimer ($xdmmins2*60+$xdmsecs2)-($xdmmins1*60+$xdmsecs1)
  212. EndIf
  213.  
  214. If $xdmmins1 GT $xdmmins2
  215.     Eval >ENV:xdmtimer ($xdmmins2+60*60+$xdmsecs2)-($xdmmins1*60+$xdmsecs1)
  216. Else
  217.     Eval >ENV:xdmtimer ($xdmmins2*60+$xdmsecs2)-($xdmmins1*60+$xdmsecs1)
  218. EndIf
  219.  
  220. Echo "Archive size      : *e[1;32m$xdmsize*e[0m bytes"
  221. Echo "Percentage Saving : *e[1;32m$xdmpct*e[0m *e[1;32m%*e[0m"
  222.  
  223. If "$xdmtimer" NOT EQ "Mismatched parenthesis"
  224.     Echo "Mashing time      : *e[1;32m$xdmtimer*e[0m seconds"
  225. EndIf
  226.  
  227. Echo "*nProcess complete!"
  228. Skip returnout
  229.  
  230. LAB decompress
  231. FailAt 21
  232.  
  233. If NOT EXISTS ENV:xdmsd
  234.     If NOT EXISTS ENVARC:xdmsd
  235.         Set xdmsd RAM:
  236.     Else
  237.         Copy >NIL: ENVARC:xdmsd TO ENV:
  238.     EndIf
  239. EndIf
  240.  
  241. RequestFile >ENV:xdmdest DRAWER "$xdmsd" PATTERN "#?.xdm" TITLE "Select Archive" NOICONS
  242.  
  243. If FAIL
  244.     Skip begin BACK
  245. EndIf
  246.  
  247. FailAt 20
  248. List >ENV:xdmcheck $xdmdest QUICK NOHEAD
  249. Echo >ENV:xdmcheck2 "$xdmcheck" LEN=3
  250.  
  251. If $xdmcheck2 NOT EQ "xdm"
  252.     Set xdmerror "notxdm"
  253.     Skip errorout
  254. EndIf
  255.  
  256. If NOT EXISTS $xdmdest
  257.     Set xdmerror "nofile"
  258.     Skip errorout
  259. EndIf
  260.  
  261. If $xdmdev NOT EQ "5"
  262.     RequestChoice >ENV:xdmdecompcont "xDM v2.0 - The eXtended Disk Masher" "Ensure disk is in $xdmdrive" "Continue" "BACK" "QUIT"
  263. EndIf
  264.  
  265. If $xdmdecompcont EQ "0"
  266.     Skip getout
  267. EndIf
  268.  
  269. If $xdmdecompcont EQ "2"
  270.     Skip decompress BACK
  271. EndIf
  272.  
  273. Date >ENV:xdmdate1
  274. Echo >ENV:xdmtime1 "$xdmdate1" LEN=5
  275. Echo >ENV:xdmmins1 "$xdmtime1" FIRST=1 LEN=2
  276. Echo >ENV:xdmsecs1 "$xdmtime1" LEN=2
  277. Echo "*e[32mxDM v2.0 - © 1995 Adam Chapman*e[0m"
  278. Echo "Decompressing disk image... Please wait!"
  279. LZX >NIL: -m -P5 -X0 x $xdmdest ENV: xdmcount xdmskip
  280. LZX -m -P5 -X0 x $xdmdest "$xdm" xDM.dsk xDM.image
  281.  
  282. If ERROR
  283.     Set xdmerror "notxdm"
  284.     Skip errorout
  285. EndIf
  286.  
  287. FailAt 20
  288. Cd "$xdm"
  289.  
  290. If NOT EXISTS xDM.dsk
  291.     If NOT EXISTS xDM.image
  292.         Set xdmerror "notxdm"
  293.         Skip errorout
  294.     EndIf
  295. EndIf
  296.  
  297. If EXISTS xDM.dsk
  298.     If NOT EXISTS ENV:xdmcount
  299.         Set xdmunpack 1
  300.         Set xdmcount 1760
  301.         Set xdmskip 0
  302.         Skip unpackcont
  303.     EndIf
  304.     Set xdmunpack 2
  305. EndIf
  306.  
  307. If EXISTS xDM.image
  308.     Set xdmunpack 3
  309. EndIf
  310.  
  311. LAB unpackcont
  312. Echo "Writing disk image... Please wait!"
  313.  
  314. If $xdmunpack EQ "3"
  315.     ChangeTaskPri 5
  316.     PackDev xDM.image $xdmdrive NC Q ETDF
  317.     ChangeTaskPri 0
  318. Else
  319.     ChangeTaskPri 5
  320.     dd -c$xdmcount -s$xdmskip -w$xdmdrive xDM.dsk
  321.     ChangeTaskPri 0
  322. EndIf
  323.  
  324. Echo "Process complete!"
  325. DiskChange $xdmdrive
  326. Date >ENV:xdmdate2
  327. Echo >ENV:xdmtime2 "$xdmdate2" LEN=5
  328. Echo >ENV:xdmmins2 "$xdmtime2" FIRST=1 LEN=2
  329. Echo >ENV:xdmsecs2 "$xdmtime2" LEN=2
  330.  
  331. If $xdmmins2 GT $xdmmins1
  332.     Eval >ENV:xdmtimer ($xdmmins2*60+$xdmsecs2)-($xdmmins1*60+$xdmsecs1)
  333. EndIf
  334.  
  335. If $xdmmins1 GT $xdmmins2
  336.     Eval >ENV:xdmtimer ($xdmmins2+60*60+$xdmsecs2)-($xdmmins1*60+$xdmsecs1)
  337. Else
  338.     Eval >ENV:xdmtimer ($xdmmins2*60+$xdmsecs2)-($xdmmins1*60+$xdmsecs1)
  339. EndIf
  340.  
  341. If "$xdmtimer" NOT EQ "Mismatched parenthesis"
  342.     Echo "Decompression time      : *e[1;32m$xdmtimer*e[0m seconds"
  343. EndIf
  344.  
  345. Echo "*nProcess complete!"
  346. Skip returnout
  347.  
  348. LAB errorout
  349. If $xdmerror EQ "fileexists"
  350.     Echo "*nSorry, but that xDM archive already exists."
  351.     Echo "Please give it another filename."
  352.     Skip returnout
  353. Else
  354.     If $xdmerror EQ "nofile"
  355.         Echo "*nSorry, that file does not exist."
  356.         Echo "Please select an existing xDM archive."
  357.         Skip returnout
  358.     EndIf
  359.     If $xdmerror EQ "lowmem"
  360.         Echo "*nSorry, you have selected a mode which suggests you have a low memory"
  361.         Echo "situation.  However, you do not have the low-memory variable *"xdmlzx*" set"
  362.         Echo "in your ENV: or ENVARC: directories.  Please refer to the documentation or"
  363.         Echo "re-install xDM, this time setting the *"xdmlzx*" low-memory variable to a"
  364.         Echo "location somewhere on a harddrive partition with at least 1mb free.*n"
  365.         Skip conterror
  366.     EndIf
  367.     If $xdmerror EQ "notxdm"
  368.         Echo "*nSorry, the file you are trying to unpack is not an xDM archive."
  369.         Echo "Please select a valid archive and try again."
  370.         Skip returnout
  371.     EndIf
  372.     Echo "*nSorry, but I cannot find *"$xdmerror*" in your C: directory."
  373.     Echo "Please install xDM or *"$xdmerror*" again."
  374. EndIf
  375.  
  376. LAB conterror
  377. Cd "$xdm"
  378. Delete >NIL: xDM.dsk xDM.image
  379. Cd ENV:
  380. Delete >NIL: xdmaction xdmdev xdmseldrive xdmdest xdmtracks xdmdecompcont xdmskip xdmcount xdmfile xdmsize xdmpct xdmtimer xdmorigcd xdmversion xdmcheck xdmcheck2 xdmdate#? xdmtime#? xdmmins#? xdmsecs#?
  381. Cd "$xdmcd"
  382. UnSet xdmdrive
  383. UnSet xdmcount
  384. UnSet xdmskip
  385. UnSet xdmstarttrack
  386. UnSet xdmendtrack
  387. UnSet xdmmode
  388. UnSet xdmunpack
  389. UnSet xdmcd
  390. UnSet xdmerror
  391. UnSet xdm
  392. UnSet xdmsd
  393. UnSet xdmlzx
  394. FailAt 21
  395. Quit 20
  396.  
  397. LAB returnout
  398. Cd "$xdm"
  399. Delete >NIL: xDM.dsk xDM.image
  400. Cd ENV:
  401. Delete >NIL: xdmaction xdmdev xdmseldrive xdmdest xdmtracks xdmdecompcont xdmskip xdmcount xdmfile xdmsize xdmpct xdmtimer xdmversion xdmcheck xdmcheck2 xdmdate#? xdmtime#? xdmmins#? xdmsecs#?
  402. UnSet xdmdrive
  403. UnSet xdmcount
  404. UnSet xdmskip
  405. UnSet xdmstarttrack
  406. UnSet xdmendtrack
  407. UnSet xdmmode
  408. UnSet xdmunpack
  409. UnSet xdm
  410. UnSet xdmsd
  411. UnSet xdmlzx
  412. Skip begin BACK
  413.  
  414. LAB getout
  415. Cd "$xdm"
  416. Delete >NIL: xDM.dsk xDM.image
  417. Cd ENV:
  418. Delete >NIL: xdmaction xdmdev xdmseldrive xdmdest xdmtracks xdmdecompcont xdmskip xdmcount xdmfile xdmsize xdmpct xdmtimer xdmorigcd xdmversion xdmcheck xdmcheck2 xdmdate#? xdmtime#? xdmmins#? xdmsecs#?
  419. Cd "$xdmcd"
  420. UnSet xdmdrive
  421. UnSet xdmcount
  422. UnSet xdmskip
  423. UnSet xdmstarttrack
  424. UnSet xdmendtrack
  425. UnSet xdmmode
  426. UnSet xdmunpack
  427. UnSet xdm
  428. UnSet xdmsd
  429. UnSet xdmlzx
  430. UnSet xdmerror
  431. UnSet xdmcd
  432.